package com.hoyue.common.utils;

import org.apache.shiro.codec.Base64;

/**
 * Base64 加解密工具类
 * @author 空白
 * @version 1.0
 * Create by 2019/08/23 13:10
 */
public class Base64Utils {
    // 规定明文长度为6,加密后，密文为6位
    private static int LENGTH = 6;

    /**
     * 加密
     *
     * @param plainText 明文
     * @return base64Encoded 密文
     */
    public static String encode(Integer plainText) {
        String var = Integer.toString(plainText);
        String s = "";
        // 长度不足6位，添加前导零
        for (int i = 0; i < (LENGTH - var.length()); i++) {
            s += "0";
        }
        var = s + var;
        // 返回密文
        return Base64.encodeToString(var.getBytes());
    }

    /**
     * 解密
     * @param base64Encoded 密文
     * @return plainText 明文
     */
    public static Integer decode(String base64Encoded) {
        // int i = 0;
        // 解密
        String var = Base64.decodeToString(base64Encoded);
        // 去除前导零
        Integer plainText = null;
        if(var != null){
            plainText = Integer.valueOf(var);
        }

        return plainText;
    }
}
